export function formatTimeDifference(startTimestamp: number, endTimestamp: number): string {
    const start = new Date(startTimestamp);
    const end = new Date(endTimestamp);
    const timeDiff = end.getTime() - start.getTime();
    const oneDay = 24 * 60 * 60 * 1000; // 一天的毫秒数

    if (timeDiff < oneDay && end.getDate() === start.getDate()) {
        return `${start.getHours()}:${start.getMinutes() < 10 ? '0' + start.getMinutes() : start.getMinutes()}`;
    } else if (timeDiff < 2 * oneDay && end.getDate() - start.getDate() === 1) {
        return `昨天 ${start.getHours()}:${start.getMinutes() < 10 ? '0' + start.getMinutes() : start.getMinutes()}`;
    } else if (timeDiff < 3 * oneDay && end.getDate() - start.getDate() === 2) {
        return `前天 ${start.getHours()}:${start.getMinutes() < 10 ? '0' + start.getMinutes() : start.getMinutes()}`;
    } else if (timeDiff < 7 * oneDay) {
        const daysAgo = Math.floor(timeDiff / oneDay);
        return `${daysAgo}天前 ${start.getHours()}:${start.getMinutes() < 10 ? '0' + start.getMinutes() : start.getMinutes()}`;
    } else if (start.getFullYear() === end.getFullYear()) {
        return `${start.getMonth() + 1}月${start.getDate()}日 ${start.getHours()}:${start.getMinutes() < 10 ? '0' + start.getMinutes() : start.getMinutes()}`;
    } else {
        return `${start.getFullYear()}年${start.getMonth() + 1}月${start.getDate()}日 ${start.getHours()}:${start.getMinutes() < 10 ? '0' + start.getMinutes() : start.getMinutes()}`;
    }
}

/**
 * 格式转换
 * @param timestamp
 */
export function formatDate(timestamp: number): string {
    // 创建一个新的 Date 对象，并传入时间戳作为参数
    const date = new Date(timestamp)

    // 使用toLocaleString()方法将日期对象转换为指定格式的字符串
    return `${date.getFullYear()}.${date.getMonth() + 1}.${date.getDate()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`;
}
export function formatDate_1(timestamp: number): string {
    // 创建一个新的 Date 对象，并传入时间戳作为参数
    const date = new Date(timestamp)
    let month: number | string = date.getMonth() + 1
    if (month < 10) {
        month = "0" + month
    }
    // 使用toLocaleString()方法将日期对象转换为指定格式的字符串
    return `${date.getFullYear()}-${month}-${date.getDate()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`;
}
export function formatDate_yyyy_mm_dd(date:Date): string {
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始，所以要加 1
    const day = String(date.getDate()).padStart(2, '0');

    return `${year}-${month}-${day}`;
}
export function isTimestampToday(timestamp: number): boolean {
    const date = new Date(timestamp);

    // 获取今天的开始时间和结束时间
    const startOfDay = new Date();
    startOfDay.setHours(0, 0, 0, 0); // 设置为今天的 00:00:00.000

    const endOfDay = new Date();
    endOfDay.setHours(23, 59, 59, 999); // 设置为今天的 23:59:59.999

    // 比较时间戳是否在今天的范围内
    return date >= startOfDay && date <= endOfDay;
}